/**
 * @author benny.zheng
 * @data 2016-06-06
 * @description 本文件用于方便复制粘贴UI模块之用，请更新这里的说明
 *              另外，考虑到一般是放在js/src/pages/page-name/main.js，因此使用../../
 *              如果不是这个目录，请更改成正确的相对路径
 */
//----------------require--------------


var base = require("mlib/comp/base"); // 基础对象
var parseModule = require("mlib/dom/parseModule"); // 页面模块自动解析
var wechat = require("../plugin/wx/wx-api");

var ajax = require("mlib/io/ajax");
var wx = require("../plugin/util/jweixin");
var touch = require("mlib/evt/touch");
var virtualLink = require("mlib/util/virtualLink");
var showMessage = require("../layer/info"); 


module.exports = function(node, opts) {
	
    //-----------声明模块全局变量-------------
    var nodeList = null; // 存储所有关键节点
    var that = base();
    var data = null;
	
    var rcoupon = null;
	
    //-------------事件响应声明---------------
    var evtFuncs = {
        addCard:function(){
            wx.addCard({
                cardList: data.cardList, // 需要添加的卡券列表
                success: function (res) {
                    var cardList = res.cardList,// 添加的卡券列表信息
                         cardObj={
                            "ocid":data.ocid
                         },
                         cardArr = []; 
                    
                    
                       cardList.forEach(function(item){
                        var openID = JSON.parse(item.cardExt).openid;
                            if(item.isSuccess && openID!=""){
                                cardArr.push({
                                    "openid":openID,
                                    "card_id":item.cardId
                                });
                            }                            
                       });                       
                       cardObj.cardlist = JSON.stringify(cardArr);
                       console.log(cardObj);

                    ajax({
                        url: "index.php?r=payrespond/cardadd",
                        data: cardObj, // 仅method=post时生效，如果传入json对象会被转换成queryString，如果传入字符串则会原样发送
                        method: "post", // 默认是get
                        onSuccess: function (result) {
                            showMessage(result.msg);
                        },
                        onError: function (xmlHttp) {
                        }, // 当访问出错，比如网络连接不上、解析内容失败时触发，超时也会触发
                        onTimeout: function (xmlHttp) {
                        }, // 超时触发
                        onAbort: function () {
                        } // 网络中断时触发
                    });
                    
                    
                   rcoupon.classList.add("received");
                   rcoupon.querySelector(".coupon-link").innerHTML = "\u5df2\u9886\u53d6" ;
                    
                }
            });
			
		}
    }

    //-------------子模块实例化---------------
    var initMod = function() {
         rcoupon = document.getElementById("receivecoupon");
         virtualLink(function(evt){
         	location.href = evt.target.getAttribute("data-href");
         });
		 wechat('off').init();
    }

    //-------------绑定事件------------------
    var bindEvents = function() {
        rcoupon && touch.on(rcoupon,"tap",evtFuncs.addCard);
    }

    //-------------自定义函数----------------
    var custFuncs = {

    }

    //-------------一切从这开始--------------
    var init = function(_data) {
        data = _data;
        // 根据数据初始化模块
        // opts["render"]({ "title": data["title"] });

        // 找到所有带有node-name的节点
        //nodeList = parseModule(node);
        // 子模块实例化
        initMod();
        // 绑定事件
        bindEvents();

    }

    //---------------暴露API----------------
    that.init = init;

    return that;
};